<?php
/**
 *
 * Author: Lyu
 * Date: 2023/7/22
 * Time: 14:42
 */

namespace App\Model\Core\Admin;

use App\Model\CoreModel;

class AdminUserPowerModel extends CoreModel
{

    protected string $table = 'admin_user_power';

    /**
     * 获取
     * @param int $role_id
     * @param bool|bool $is_cache
     * @return array
     */
    public function getList(int $role_id, bool $is_cache = true)
    {
        if ($role_id <= 0) {
            return [];
        }
        return $this->cache($role_id, function () use ($role_id) {
            return obj_to_array($this->getConnectionTable()->where('role_id', $role_id)->get());
        }, $is_cache);
    }

    /**
     * 添加信息
     * @param array $data
     * @return bool|int
     */
    public function addOne(array $data)
    {
        if (empty($data)) {
            return false;
        }
        return $this->getConnectionTable()->insert($data);
    }

    /**
     * 删除
     * @param int $role_id
     * @return bool|int
     */
    public function deleteRole(int $role_id)
    {
        if ($role_id <= 0) {
            return false;
        }
        $res = $this->getConnectionTable()->where('role_id', $role_id)->delete();
        if ($res) {
            self::clearCache($role_id);
        }
        return $res;
    }

    /**
     * 清空缓存
     * @param int $role_id
     * @return $this
     */
    public function clearCache($role_id)
    {
        $this->cleanCache($role_id);
        return $this;
    }
}
